# TODO 在Python中，布尔值是一种表示逻辑值的数据类型，它只有两个值：True（真）和False（假）。布尔值通常用于条件判断和逻辑运算中。
# 以下是一个布尔值的示例：Boolean（布尔）类型是 Python 中的一种基本数据类型，它只有两个值：True 和 False。
x = True
y = False
print(type(x))  # 输出 <class 'bool'>
print(type(y))  # 输出 <class 'bool'>

# 比较操作符的结果：比如 <、>、==、!=、<=、>= 的结果都是布尔类型。
print(5 > 3)  # 输出：True
print(5 == 3)  # 输出：False

# 逻辑运算符：and、or、not 都会返回布尔类型的结果。
print(True and False)  # 输出：False
print(True or False)  # 输出：True
print(not True)  # 输出：False

# 他函数和方法的返回值：很多 Python 的内置函数和方法的返回值也是布尔类型，例如 isinstance()。
print(isinstance(5, int))  # 输出：True

# 使用布尔类型时，以下是一些需要注意的地方：
# Python 中的所有对象都可以在需要布尔值的地方使用（例如在 if 语句或 while 语句的条件中）。非零的数字、非空的字符串或列表都被视为 True，
if 3.14:
    print("This is 3.14 True")  # 输出：This is 3.14 True
if "hello":
    print("This is True")  # 输出：This is True
words = "Hello World".split()
if words:
    print("当前列表中的值不为空,返回 True")  # 当前列表中的值不为空,返回 True

# 而数字 0、空字符串或列表以及 None 都被视为 False。
if 0:
    print("0 False")
if '':
    print("空字符串 False")

if '    '.split():
    print("空列表吗? False")

if not None:
    print("None .....")  # None .....

# 在进行比较时，你应该使用 == 而不是 =。== 是比较两个值是否相等的操作符，而 = 是赋值操作符。
if x == 5:  # 正确
    pass

# if x = 5:  # 错误，这会引发一个 SyntaxError
#     pass
# 当你想要检查一个变量是否为 True 或 False 时，你不需要显式地和 True 或 False 进行比较。以下是推荐的做法：

if x:  # 如果 x 是 True，那么执行这个块的代码
    pass

if not x:  # 如果 x 是 False，那么执行这个块的代码
    pass


# 关于 pass 的用法
# 在 Python 中，pass 是一个占位语句，它在语法上需要有语句的地方起到占位的作用，但是不执行任何实际的操作。pass 语句在 Python 中没有任何意义，它只是一个空操作语句。
# 1、你在写一个新的函数或类，但是还没想好要怎么实现。在这种情况下，你可以用 pass 来作为函数体或类体，以满足 Python 语法的要求。
def my_function():  # 还没想好要怎么实现，暂时用 pass 占位
    pass


class MyClass:  # 还没想好要怎么实现，暂时用 pass 占位
    pass


# 2、你在写一个 if 语句或循环，但是在某些情况下你并不想做任何事情。**在这种情况下，你可以用 pass 来作为 if 语句或循环体。
# 在这些情况下，如果你不写 pass，Python 解释器会因为语法错误而报错。但是由于 pass 本身并不执行任何操作，所以它不会对你的程序的运行产生任何影响。
x = 5
if x > 0:
    print('x is positive')
elif x < 0:
    print('x is negative')
else:
    pass  # x 是 0，我不想做任何事情

